package com.common.framework.bean.factory.support;

import com.common.framework.bean.BeanDefinition;

/**
 * @ClasName BeanDefinitionRegistry
 * @Descripution TODO 注册表接口
 * @Author USER
 * @Date 2022/2/28 17:05
 * @Version V1.0
 */
public interface BeanDefinitionRegistry {

    //注册BeanDefinition对象到注册表中
    void registerBeanDefinition(String beanName, BeanDefinition beanDefinition);

    //从注册表中删除指定名称的BeanDefinition对象
    void removeBeanDefinition(String beanName) throws Exception;

    //根据名称从注册表中获取BeanDefinition对象
    BeanDefinition getBeanDefinition(String beanName) throws Exception;

    boolean containsBeanDefinition(String beanName);

    int getBeanDefinitionCount();

    String[] getBeanDefinitionNames();
}
